package com.wuliang.generate.bean.entities.author;

import com.google.gson.annotations.Expose;
import com.wuliang.generate.common.core.basic.BasicEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import org.springframework.context.annotation.Lazy;

import javax.persistence.Cacheable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.sql.Date;

/**
 * @author 邬魉
 */
@Data
@Lazy
@Entity
@Builder
@Cacheable
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("认证用户详情")
@EqualsAndHashCode(callSuper = true)
@Table(name = "t_author_user_info", schema = "wuliang_generate_author")
public class AuthorUserInfo extends BasicEntity {

    @Expose
    @Column(name = "auth_user_from", columnDefinition = "int null comment '注册渠道(0：PC端；1：微信端；)'")
    @ApiModelProperty(name = "authUserFrom", value = "注册渠道(0：PC端；1：微信端；)", dataType = "int")
    private int authUserFrom;

    @Expose
    @Column(name = "user_id", columnDefinition = "int unsigned not null comment '对应哪个用户主题'")
    @ApiModelProperty(name = "userId", value = "对应哪个用户主题", dataType = "int")
    private int userId;

    @Expose
    @Column(name = "auth_user_birthday", columnDefinition = "date null comment '用户出生日期'")
    @ApiModelProperty(name = "authUserBirthday", value = "用户出生日期", dataType = "string")
    private Date authUserBirthday;

    @Expose
    @Column(name = "auth_user_header_url", columnDefinition = "varchar(255) null comment '用户头像'")
    @ApiModelProperty(name = "authUserHeaderUrl", value = "用户头像", dataType = "string")
    private String authUserHeaderUrl;

    @Expose
    @Column(name = "auth_user_nation", columnDefinition = "int null comment '用户民族'")
    @ApiModelProperty(name = "authUserNation", value = "用户民族", dataType = "int")
    private int authUserNation;

    @Expose
    @Column(name = "auth_user_nationality", columnDefinition = "int null comment '用户国籍'")
    @ApiModelProperty(name = "authUserNationality", value = "用户国籍", dataType = "int")
    private int authUserNationality;

    @Expose
    @Column(name = "auth_user_sex", columnDefinition = "int null comment '用户性别(0: 男; 1: 女)'")
    @ApiModelProperty(name = "authUserSex", value = "用户性别(0: 男; 1: 女)", dataType = "int")
    private int authUserSex;

}
